The QoS control is one of the arts for securing quality of important communication in a network through which various kinds of traffic flow. In other words, the QoS control is the art for carrying out a different process to data, which is carried by the communication through the network, on the basis of a type of the data.
As the QoS control which is carried out in a network repeater such as a router, priority control, bandwidth control and flow control are carried out.
According to the priority control, the network repeater changes an order of transferring packets, which the network repeater outputs to a rear position apparatus (rear side apparatus), according to priority assigned to a packet which the network repeater inputs from a front position apparatus (front side apparatus). That is, according to the priority control, the packet to which the high priority is assigned is transferred preferentially to the rear position apparatus.
According to the bandwidth control, the packet which passes the network repeater is classified per a type of the packet, and a bandwidth which are assigned to each of the types of the packet is controlled. In the case of the bandwidth control for an inward line of the network repeater, an inflow bandwidth restriction is carried out. That is, it is monitored whether traffic, which flows into the network repeater, exceeds a bandwidth which is predetermined on the basis of the type of the packet, and the packet which exceeds the predetermined bandwidth is discarded. Moreover, in the case of the bandwidth control for an outward line of the network repeater, control which occupies or restricts an available bandwidth per the type of the packet within an effective bandwidth of the outward line. That is, the bandwidths of the inward line and the outward line of the network repeater are controlled so as to be distributed or restricted.
According to the flow control, a stagnant state of the buffer inside the network repeater, is monitored, and it is instructed that the front position apparatus should restrict sending the packet in the case that number of the packets, which are stagnated in the buffer exceeds a predetermined threshold value. That is, in the case that number of the packets, which are inputted from the front position apparatus, is increased, the flow control is carried out in order to avoid a situation that the buffer enters into an overflow state and that causes discarding the packet.
As one method to determine the priority of the packet, there is a method to determine the priority on the basis of information on a sending source address or a destination address, or a protocol to be used. In the case of using the address information, the IP (Internet Protocol) address or the MAC (Media Access Control) address are referred to. Moreover, in the case of using the protocol, TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are used distinctively.
As another method, there is a method to designate the priority explicitly in a field of the packet. In this case, a dedicated field, which designates a priority order of transferring the packet, such as TOS (Type of Service) and DSCP (Differentiated services code point) of the IP header is used. In the case of the layer 2, the TCI (Tag Control Information) field of the VLAN (Virtual Local Area Network) tag is used.
The network repeater identifies the priority of the packet, which is inputted from the front position apparatus, by use of the above-mentioned method. Then, the packet, whose priority is identified, is distributed to an output buffer (or waiting queue) arranged correspondingly to each priority, and waits for being transferred to the rear position apparatus. The packet, which is distributed and accumulated in each output buffer, is read from the output buffer which has the high priority, and is transferred to the rear position apparatus.
There are various methods related to readout control for the output buffer.
One method is that at first, the packet which is in the output buffer having the highest priority is read out, and the packet which is in the output buffer having the next level priority is read out when the output buffer having the highest priority becomes empty. Moreover, there is another method utilizing in which the weight control, even if the packet remains in the output buffer having the high priority, the packet in the output buffer having the low priority is read out at a constant rate. According to the latter method, it is possible to adjust an amount of data which is read out from each output buffer.
In particular, in the case of carrying out the bandwidth control for the outward line, a readout method by CBQ (Class-Based Queuing), which can guarantee number of the sending packets per the type of the packet, is used. According to CBQ, number of the packets, which is desired to be sent in a predetermined time, is determined per a class of communication, and number of the packets, which should be sent from the output buffer arranged per the class of the communication, is set. It is possible to guarantee the number of the packets, which should be transferred, per the class through reading out the packets whose number is corresponding to the number set to each output buffer, when reading out the packet.
Moreover, in the case of the bandwidth control for the outward line, through restricting a rate of reading out the packet per the output buffer, shaping is carried out so that the bandwidth, which exceeds the set value, may not be consumed and the bandwidth may not exceed the effective bandwidth of the outward line of the network apparatus.
With respect to the control method for instructing the front position apparatus to restrict sending the packet in the flow control, there are a method by use of the PAUSE frame in the layer 2 and a method by use of the ACK (Acknowledgement) packet in the layer 3.
The flow control in Ethernet (registered trademark), which IEEE (Institute of Electrical and Electronics Engineers) 802.3 specifies, uses the PAUSE frame which includes information on a time when sending the frame is stopped. When the front position apparatus receives the PAUSE frame which designates the time when sending the frame is stopped, the front position apparatus stops sending data from the time when receiving the PAUSE frame until the time designated by the PAUSE frame.
Moreover, the flow control in TCP/IP (Transmission Control Protocol/Internet Protocol) uses the ACK packet. In the case of instructing the data-sending source apparatus to restrict sending the packet, the network repeater embeds the window size, which indicates an amount of the receivable data, in the ACK packet and notifies the data-sending source apparatus of the window size through sending the ACK packet to the sending source apparatus. The sending source apparatus, which receives the ACK packet, sends next data on a condition that an amount of data which is designated by the window size is the maximum permissible value. Accordingly, the network repeater, in which a state of congestion is caused, instructs the sending source apparatus to stop sending the packet through sending back the ACK packet whose window size is set to “0”.
Through carrying out the QoS control to the network repeater, the congestion in the network repeater is avoided, and it is realized that the data transfer is adapted to a service (or, application) and well modulated. That is, through carrying out the control so as to give the high priority to the service, which requires the real time property, such as the IP telephone and the animation delivery which bring an unpleasant feeling if delay or discard of the packet is caused, communication quality of the data transfer is secured. Moreover, the e-mail service and the Web access, which are not influenced so severely by the delay or the discard of the packet, are given the medium priority and the low priority. As a result, an order of the data transfer, which flows through the congested network, is maintained to a predetermined extent.
Patent document 1 discloses an art related to flow control, which is carried out per a priority class assigned to each of plural queues, in a repeater connected by the layer 2 network. According to the patent document 1, the repeater, which receives a data frame, monitors an amount of data accumulated in the plural queues each of which is assigned the priority class different from ones of the other queues, and judges whether an amount of the data exceeds a stopping threshold value which is determined in advance. In the case that the repeater, which receives the data frame, judges that an amount of the data exceeds the stopping threshold value, the repeater sends a flow control message. The flow control message includes priority class information and stopping time information which are assigned to the queue whose amount of the data exceeds the stopping threshold value. When the repeater, which sends the data frame, receives the flow control message including the priority class information and the stopping time information, the repeater receiving the flow control message stops sending the data frame, which belongs to the designated priority class, for a designated stopping time. According to the art which the patent document 1 discloses, the PAUSE frame is used as the flow control message, and the designated priority class is set in a blank area of the PAUSE frame.
Patent document 2 discloses an art which can carry out transferring data without causing congestion not only in a sending source apparatus and a destination apparatus but also in a network between the sending source apparatus and the destination apparatus. A flow control apparatus, which the patent document 2 discloses, includes a transfer unit which carries out data transfer between termination apparatuses, a network interface unit which carries out the data transfer with a network, a monitoring unit, and a control unit. On the basis of an amount of data which is transferred between the transfer unit and the network interface unit, the monitoring unit monitors whether the flow control apparatus is in a state of congestion. The monitoring unit especially monitors an amount of the data per a value of a queue which indicates priority of data. The control unit notifies the termination apparatus or a network device, which is a data sending source apparatus, that an amount of data which should be transferred is restricted on the basis of the results of the monitoring. At this time, the control unit changes a value of the window size of the ACK packet of TCP/IP and notifies the sending source apparatus of the window size.
Here, patent document 3 and patent document 4 disclose an art related to a dynamic rate control scheduler and packet flow control for an ATM (Asynchronous Transfer Mode) cell in an ATM switching system. Furthermore, patent document 5 discloses an art to increase or decrease a size of an assigned bandwidth according to increase or decrease of an amount of data.